home *** CD-ROM | disk | FTP | other *** search
-
- proc listSelectedItems {} {
- .form.list getValues \
- -selectedItems i -selectedItemCount n
- return "$n $i"
- }
-
- proc indexToY {w n} {
- # calculate the Y co-ord for an index in the list
- $w getValues \
- -height h -itemCount count \
- -visibleItemCount vis
-
- set y [expr {(2*$n - 1) * $h / (2*$count)}]
- return $y
- }
-
-
- proc buttonPress {w n} {
- # simulate a button press
- return [$w callActionProc ListBeginSelect() \
- -type ButtonPress \
- -x 0 -y [indexToY $w $n]]
- }
-
- proc buttonRelease {w n} {
- # simulate a button release
- return [$w callActionProc ListEndSelect() \
- -type ButtonRelease \
- -x 0 -y [indexToY $w $n]]
- }
-
- xtAppInitialize
-
- xmRowColumn .form managed
-
- xmList .form.list2 managed \
- -items "a b c d" -itemCount 4 \
- -visibleItemCount 4
-
- .form.list2 setValues -selectionPolicy multiple_select -selectedItems "" -selectedItemCount 0
- buttonPress .form.list2 2
- buttonRelease .form.list2 2
- buttonPress .form.list2 3
- set ans [buttonRelease .form.list2 3]
- puts stdout "selected: $ans"
-
- . realizeWidget
-
- . mainLoop
-